{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "df=pd.read_csv('Algerian_forest_fires_cleaned_dataset.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>month</th>\n",
       "      <th>year</th>\n",
       "      <th>Temperature</th>\n",
       "      <th>RH</th>\n",
       "      <th>Ws</th>\n",
       "      <th>Rain</th>\n",
       "      <th>FFMC</th>\n",
       "      <th>DMC</th>\n",
       "      <th>DC</th>\n",
       "      <th>ISI</th>\n",
       "      <th>BUI</th>\n",
       "      <th>FWI</th>\n",
       "      <th>Classes</th>\n",
       "      <th>Region</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>2012</td>\n",
       "      <td>29</td>\n",
       "      <td>57</td>\n",
       "      <td>18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>65.7</td>\n",
       "      <td>3.4</td>\n",
       "      <td>7.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>3.4</td>\n",
       "      <td>0.5</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>2012</td>\n",
       "      <td>29</td>\n",
       "      <td>61</td>\n",
       "      <td>13</td>\n",
       "      <td>1.3</td>\n",
       "      <td>64.4</td>\n",
       "      <td>4.1</td>\n",
       "      <td>7.6</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.4</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>2012</td>\n",
       "      <td>26</td>\n",
       "      <td>82</td>\n",
       "      <td>22</td>\n",
       "      <td>13.1</td>\n",
       "      <td>47.1</td>\n",
       "      <td>2.5</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.3</td>\n",
       "      <td>2.7</td>\n",
       "      <td>0.1</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>2012</td>\n",
       "      <td>25</td>\n",
       "      <td>89</td>\n",
       "      <td>13</td>\n",
       "      <td>2.5</td>\n",
       "      <td>28.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>6.9</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.7</td>\n",
       "      <td>0.0</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>2012</td>\n",
       "      <td>27</td>\n",
       "      <td>77</td>\n",
       "      <td>16</td>\n",
       "      <td>0.0</td>\n",
       "      <td>64.8</td>\n",
       "      <td>3.0</td>\n",
       "      <td>14.2</td>\n",
       "      <td>1.2</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.5</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   day  month  year  Temperature  RH  Ws  Rain  FFMC  DMC    DC  ISI  BUI  \\\n",
       "0    1      6  2012           29  57  18   0.0  65.7  3.4   7.6  1.3  3.4   \n",
       "1    2      6  2012           29  61  13   1.3  64.4  4.1   7.6  1.0  3.9   \n",
       "2    3      6  2012           26  82  22  13.1  47.1  2.5   7.1  0.3  2.7   \n",
       "3    4      6  2012           25  89  13   2.5  28.6  1.3   6.9  0.0  1.7   \n",
       "4    5      6  2012           27  77  16   0.0  64.8  3.0  14.2  1.2  3.9   \n",
       "\n",
       "   FWI      Classes  Region  \n",
       "0  0.5  not fire          0  \n",
       "1  0.4  not fire          0  \n",
       "2  0.1  not fire          0  \n",
       "3  0.0  not fire          0  \n",
       "4  0.5  not fire          0  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['day', 'month', 'year', 'Temperature', 'RH', 'Ws', 'Rain', 'FFMC',\n",
       "       'DMC', 'DC', 'ISI', 'BUI', 'FWI', 'Classes', 'Region'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "##drop month,day and yyear\n",
    "df.drop(['day','month','year'],axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Temperature</th>\n",
       "      <th>RH</th>\n",
       "      <th>Ws</th>\n",
       "      <th>Rain</th>\n",
       "      <th>FFMC</th>\n",
       "      <th>DMC</th>\n",
       "      <th>DC</th>\n",
       "      <th>ISI</th>\n",
       "      <th>BUI</th>\n",
       "      <th>FWI</th>\n",
       "      <th>Classes</th>\n",
       "      <th>Region</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>29</td>\n",
       "      <td>57</td>\n",
       "      <td>18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>65.7</td>\n",
       "      <td>3.4</td>\n",
       "      <td>7.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>3.4</td>\n",
       "      <td>0.5</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>29</td>\n",
       "      <td>61</td>\n",
       "      <td>13</td>\n",
       "      <td>1.3</td>\n",
       "      <td>64.4</td>\n",
       "      <td>4.1</td>\n",
       "      <td>7.6</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.4</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26</td>\n",
       "      <td>82</td>\n",
       "      <td>22</td>\n",
       "      <td>13.1</td>\n",
       "      <td>47.1</td>\n",
       "      <td>2.5</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.3</td>\n",
       "      <td>2.7</td>\n",
       "      <td>0.1</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>25</td>\n",
       "      <td>89</td>\n",
       "      <td>13</td>\n",
       "      <td>2.5</td>\n",
       "      <td>28.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>6.9</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.7</td>\n",
       "      <td>0.0</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>27</td>\n",
       "      <td>77</td>\n",
       "      <td>16</td>\n",
       "      <td>0.0</td>\n",
       "      <td>64.8</td>\n",
       "      <td>3.0</td>\n",
       "      <td>14.2</td>\n",
       "      <td>1.2</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.5</td>\n",
       "      <td>not fire</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Temperature  RH  Ws  Rain  FFMC  DMC    DC  ISI  BUI  FWI      Classes  \\\n",
       "0           29  57  18   0.0  65.7  3.4   7.6  1.3  3.4  0.5  not fire      \n",
       "1           29  61  13   1.3  64.4  4.1   7.6  1.0  3.9  0.4  not fire      \n",
       "2           26  82  22  13.1  47.1  2.5   7.1  0.3  2.7  0.1  not fire      \n",
       "3           25  89  13   2.5  28.6  1.3   6.9  0.0  1.7  0.0  not fire      \n",
       "4           27  77  16   0.0  64.8  3.0  14.2  1.2  3.9  0.5  not fire      \n",
       "\n",
       "   Region  \n",
       "0       0  \n",
       "1       0  \n",
       "2       0  \n",
       "3       0  \n",
       "4       0  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "fire             131\n",
       "not fire         101\n",
       "fire               4\n",
       "not fire           2\n",
       "fire               2\n",
       "not fire           1\n",
       "not fire           1\n",
       "not fire           1\n",
       "Name: Classes, dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Classes'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Encoding\n",
    "df['Classes']=np.where(df['Classes'].str.contains(\"not fire\"),0,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Temperature</th>\n",
       "      <th>RH</th>\n",
       "      <th>Ws</th>\n",
       "      <th>Rain</th>\n",
       "      <th>FFMC</th>\n",
       "      <th>DMC</th>\n",
       "      <th>DC</th>\n",
       "      <th>ISI</th>\n",
       "      <th>BUI</th>\n",
       "      <th>FWI</th>\n",
       "      <th>Classes</th>\n",
       "      <th>Region</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>238</th>\n",
       "      <td>30</td>\n",
       "      <td>65</td>\n",
       "      <td>14</td>\n",
       "      <td>0.0</td>\n",
       "      <td>85.4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>44.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>16.9</td>\n",
       "      <td>6.5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>239</th>\n",
       "      <td>28</td>\n",
       "      <td>87</td>\n",
       "      <td>15</td>\n",
       "      <td>4.4</td>\n",
       "      <td>41.1</td>\n",
       "      <td>6.5</td>\n",
       "      <td>8.0</td>\n",
       "      <td>0.1</td>\n",
       "      <td>6.2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>240</th>\n",
       "      <td>27</td>\n",
       "      <td>87</td>\n",
       "      <td>29</td>\n",
       "      <td>0.5</td>\n",
       "      <td>45.9</td>\n",
       "      <td>3.5</td>\n",
       "      <td>7.9</td>\n",
       "      <td>0.4</td>\n",
       "      <td>3.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>241</th>\n",
       "      <td>24</td>\n",
       "      <td>54</td>\n",
       "      <td>18</td>\n",
       "      <td>0.1</td>\n",
       "      <td>79.7</td>\n",
       "      <td>4.3</td>\n",
       "      <td>15.2</td>\n",
       "      <td>1.7</td>\n",
       "      <td>5.1</td>\n",
       "      <td>0.7</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>242</th>\n",
       "      <td>24</td>\n",
       "      <td>64</td>\n",
       "      <td>15</td>\n",
       "      <td>0.2</td>\n",
       "      <td>67.3</td>\n",
       "      <td>3.8</td>\n",
       "      <td>16.5</td>\n",
       "      <td>1.2</td>\n",
       "      <td>4.8</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Temperature  RH  Ws  Rain  FFMC   DMC    DC  ISI   BUI  FWI  Classes  \\\n",
       "238           30  65  14   0.0  85.4  16.0  44.5  4.5  16.9  6.5        1   \n",
       "239           28  87  15   4.4  41.1   6.5   8.0  0.1   6.2  0.0        0   \n",
       "240           27  87  29   0.5  45.9   3.5   7.9  0.4   3.4  0.2        0   \n",
       "241           24  54  18   0.1  79.7   4.3  15.2  1.7   5.1  0.7        0   \n",
       "242           24  64  15   0.2  67.3   3.8  16.5  1.2   4.8  0.5        0   \n",
       "\n",
       "     Region  \n",
       "238       1  \n",
       "239       1  \n",
       "240       1  \n",
       "241       1  \n",
       "242       1  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1    137\n",
       "0    106\n",
       "Name: Classes, dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Classes'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Independent And dependent features\n",
    "X=df.drop('FWI',axis=1)\n",
    "y=df['FWI']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Temperature</th>\n",
       "      <th>RH</th>\n",
       "      <th>Ws</th>\n",
       "      <th>Rain</th>\n",
       "      <th>FFMC</th>\n",
       "      <th>DMC</th>\n",
       "      <th>DC</th>\n",
       "      <th>ISI</th>\n",
       "      <th>BUI</th>\n",
       "      <th>Classes</th>\n",
       "      <th>Region</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>29</td>\n",
       "      <td>57</td>\n",
       "      <td>18</td>\n",
       "      <td>0.0</td>\n",
       "      <td>65.7</td>\n",
       "      <td>3.4</td>\n",
       "      <td>7.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>3.4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>29</td>\n",
       "      <td>61</td>\n",
       "      <td>13</td>\n",
       "      <td>1.3</td>\n",
       "      <td>64.4</td>\n",
       "      <td>4.1</td>\n",
       "      <td>7.6</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26</td>\n",
       "      <td>82</td>\n",
       "      <td>22</td>\n",
       "      <td>13.1</td>\n",
       "      <td>47.1</td>\n",
       "      <td>2.5</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.3</td>\n",
       "      <td>2.7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>25</td>\n",
       "      <td>89</td>\n",
       "      <td>13</td>\n",
       "      <td>2.5</td>\n",
       "      <td>28.6</td>\n",
       "      <td>1.3</td>\n",
       "      <td>6.9</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>27</td>\n",
       "      <td>77</td>\n",
       "      <td>16</td>\n",
       "      <td>0.0</td>\n",
       "      <td>64.8</td>\n",
       "      <td>3.0</td>\n",
       "      <td>14.2</td>\n",
       "      <td>1.2</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Temperature  RH  Ws  Rain  FFMC  DMC    DC  ISI  BUI  Classes  Region\n",
       "0           29  57  18   0.0  65.7  3.4   7.6  1.3  3.4        0       0\n",
       "1           29  61  13   1.3  64.4  4.1   7.6  1.0  3.9        0       0\n",
       "2           26  82  22  13.1  47.1  2.5   7.1  0.3  2.7        0       0\n",
       "3           25  89  13   2.5  28.6  1.3   6.9  0.0  1.7        0       0\n",
       "4           27  77  16   0.0  64.8  3.0  14.2  1.2  3.9        0       0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      0.5\n",
       "1      0.4\n",
       "2      0.1\n",
       "3      0.0\n",
       "4      0.5\n",
       "      ... \n",
       "238    6.5\n",
       "239    0.0\n",
       "240    0.2\n",
       "241    0.7\n",
       "242    0.5\n",
       "Name: FWI, Length: 243, dtype: float64"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Train Test Split\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((182, 11), (61, 11))"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape,X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Temperature</th>\n",
       "      <th>RH</th>\n",
       "      <th>Ws</th>\n",
       "      <th>Rain</th>\n",
       "      <th>FFMC</th>\n",
       "      <th>DMC</th>\n",
       "      <th>DC</th>\n",
       "      <th>ISI</th>\n",
       "      <th>BUI</th>\n",
       "      <th>Classes</th>\n",
       "      <th>Region</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Temperature</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.656095</td>\n",
       "      <td>-0.305977</td>\n",
       "      <td>-0.317512</td>\n",
       "      <td>0.694768</td>\n",
       "      <td>0.498173</td>\n",
       "      <td>0.390684</td>\n",
       "      <td>0.629848</td>\n",
       "      <td>0.473609</td>\n",
       "      <td>0.542141</td>\n",
       "      <td>0.254549</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RH</th>\n",
       "      <td>-0.656095</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.225736</td>\n",
       "      <td>0.241656</td>\n",
       "      <td>-0.653023</td>\n",
       "      <td>-0.414601</td>\n",
       "      <td>-0.236078</td>\n",
       "      <td>-0.717804</td>\n",
       "      <td>-0.362317</td>\n",
       "      <td>-0.456876</td>\n",
       "      <td>-0.394665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ws</th>\n",
       "      <td>-0.305977</td>\n",
       "      <td>0.225736</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.251932</td>\n",
       "      <td>-0.190076</td>\n",
       "      <td>0.000379</td>\n",
       "      <td>0.096576</td>\n",
       "      <td>-0.023558</td>\n",
       "      <td>0.035633</td>\n",
       "      <td>-0.082570</td>\n",
       "      <td>-0.199969</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rain</th>\n",
       "      <td>-0.317512</td>\n",
       "      <td>0.241656</td>\n",
       "      <td>0.251932</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.545491</td>\n",
       "      <td>-0.289754</td>\n",
       "      <td>-0.302341</td>\n",
       "      <td>-0.345707</td>\n",
       "      <td>-0.300964</td>\n",
       "      <td>-0.369357</td>\n",
       "      <td>-0.059022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FFMC</th>\n",
       "      <td>0.694768</td>\n",
       "      <td>-0.653023</td>\n",
       "      <td>-0.190076</td>\n",
       "      <td>-0.545491</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.620807</td>\n",
       "      <td>0.524101</td>\n",
       "      <td>0.750799</td>\n",
       "      <td>0.607210</td>\n",
       "      <td>0.781259</td>\n",
       "      <td>0.249514</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DMC</th>\n",
       "      <td>0.498173</td>\n",
       "      <td>-0.414601</td>\n",
       "      <td>0.000379</td>\n",
       "      <td>-0.289754</td>\n",
       "      <td>0.620807</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.868647</td>\n",
       "      <td>0.685656</td>\n",
       "      <td>0.983175</td>\n",
       "      <td>0.617273</td>\n",
       "      <td>0.212582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DC</th>\n",
       "      <td>0.390684</td>\n",
       "      <td>-0.236078</td>\n",
       "      <td>0.096576</td>\n",
       "      <td>-0.302341</td>\n",
       "      <td>0.524101</td>\n",
       "      <td>0.868647</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.513701</td>\n",
       "      <td>0.942414</td>\n",
       "      <td>0.543581</td>\n",
       "      <td>-0.060838</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ISI</th>\n",
       "      <td>0.629848</td>\n",
       "      <td>-0.717804</td>\n",
       "      <td>-0.023558</td>\n",
       "      <td>-0.345707</td>\n",
       "      <td>0.750799</td>\n",
       "      <td>0.685656</td>\n",
       "      <td>0.513701</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.643818</td>\n",
       "      <td>0.742977</td>\n",
       "      <td>0.296441</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BUI</th>\n",
       "      <td>0.473609</td>\n",
       "      <td>-0.362317</td>\n",
       "      <td>0.035633</td>\n",
       "      <td>-0.300964</td>\n",
       "      <td>0.607210</td>\n",
       "      <td>0.983175</td>\n",
       "      <td>0.942414</td>\n",
       "      <td>0.643818</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.612239</td>\n",
       "      <td>0.114897</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Classes</th>\n",
       "      <td>0.542141</td>\n",
       "      <td>-0.456876</td>\n",
       "      <td>-0.082570</td>\n",
       "      <td>-0.369357</td>\n",
       "      <td>0.781259</td>\n",
       "      <td>0.617273</td>\n",
       "      <td>0.543581</td>\n",
       "      <td>0.742977</td>\n",
       "      <td>0.612239</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.188837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Region</th>\n",
       "      <td>0.254549</td>\n",
       "      <td>-0.394665</td>\n",
       "      <td>-0.199969</td>\n",
       "      <td>-0.059022</td>\n",
       "      <td>0.249514</td>\n",
       "      <td>0.212582</td>\n",
       "      <td>-0.060838</td>\n",
       "      <td>0.296441</td>\n",
       "      <td>0.114897</td>\n",
       "      <td>0.188837</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             Temperature        RH        Ws      Rain      FFMC       DMC  \\\n",
       "Temperature     1.000000 -0.656095 -0.305977 -0.317512  0.694768  0.498173   \n",
       "RH             -0.656095  1.000000  0.225736  0.241656 -0.653023 -0.414601   \n",
       "Ws             -0.305977  0.225736  1.000000  0.251932 -0.190076  0.000379   \n",
       "Rain           -0.317512  0.241656  0.251932  1.000000 -0.545491 -0.289754   \n",
       "FFMC            0.694768 -0.653023 -0.190076 -0.545491  1.000000  0.620807   \n",
       "DMC             0.498173 -0.414601  0.000379 -0.289754  0.620807  1.000000   \n",
       "DC              0.390684 -0.236078  0.096576 -0.302341  0.524101  0.868647   \n",
       "ISI             0.629848 -0.717804 -0.023558 -0.345707  0.750799  0.685656   \n",
       "BUI             0.473609 -0.362317  0.035633 -0.300964  0.607210  0.983175   \n",
       "Classes         0.542141 -0.456876 -0.082570 -0.369357  0.781259  0.617273   \n",
       "Region          0.254549 -0.394665 -0.199969 -0.059022  0.249514  0.212582   \n",
       "\n",
       "                   DC       ISI       BUI   Classes    Region  \n",
       "Temperature  0.390684  0.629848  0.473609  0.542141  0.254549  \n",
       "RH          -0.236078 -0.717804 -0.362317 -0.456876 -0.394665  \n",
       "Ws           0.096576 -0.023558  0.035633 -0.082570 -0.199969  \n",
       "Rain        -0.302341 -0.345707 -0.300964 -0.369357 -0.059022  \n",
       "FFMC         0.524101  0.750799  0.607210  0.781259  0.249514  \n",
       "DMC          0.868647  0.685656  0.983175  0.617273  0.212582  \n",
       "DC           1.000000  0.513701  0.942414  0.543581 -0.060838  \n",
       "ISI          0.513701  1.000000  0.643818  0.742977  0.296441  \n",
       "BUI          0.942414  0.643818  1.000000  0.612239  0.114897  \n",
       "Classes      0.543581  0.742977  0.612239  1.000000  0.188837  \n",
       "Region      -0.060838  0.296441  0.114897  0.188837  1.000000  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Feature Selection based on correlaltion\n",
    "X_train.corr()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x720 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Check for multicollinearity\n",
    "plt.figure(figsize=(12,10))\n",
    "corr=X_train.corr()\n",
    "sns.heatmap(corr,annot=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def correlation(dataset, threshold):\n",
    "    col_corr = set()\n",
    "    corr_matrix = dataset.corr()\n",
    "    for i in range(len(corr_matrix.columns)):\n",
    "        for j in range(i):\n",
    "            if abs(corr_matrix.iloc[i, j]) > threshold: \n",
    "                colname = corr_matrix.columns[i]\n",
    "                col_corr.add(colname)\n",
    "    return col_corr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "## threshold--Domain expertise\n",
    "corr_features=correlation(X_train,0.85)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\win10\\anaconda3\\lib\\site-packages\\pandas\\core\\frame.py:4163: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  return super().drop(\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "((182, 9), (61, 9))"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## drop features when correlation is more than 0.85 \n",
    "X_train.drop(corr_features,axis=1,inplace=True)\n",
    "X_test.drop(corr_features,axis=1,inplace=True)\n",
    "X_train.shape,X_test.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Feature Scaling Or Standardization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "scaler=StandardScaler()\n",
    "X_train_scaled=scaler.fit_transform(X_train)\n",
    "X_test_scaled=scaler.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.84284248,  0.78307967,  1.29972026, ..., -0.62963326,\n",
       "        -1.10431526, -0.98907071],\n",
       "       [-0.30175842,  0.64950844, -0.59874754, ..., -0.93058524,\n",
       "        -1.10431526,  1.01105006],\n",
       "       [ 2.13311985, -2.08870172, -0.21905398, ...,  2.7271388 ,\n",
       "         0.90553851,  1.01105006],\n",
       "       ...,\n",
       "       [-1.9250106 ,  0.9166509 ,  0.54033314, ..., -1.06948615,\n",
       "        -1.10431526, -0.98907071],\n",
       "       [ 0.50986767, -0.21870454,  0.16063958, ...,  0.5973248 ,\n",
       "         0.90553851,  1.01105006],\n",
       "       [-0.57230045,  0.98343651,  2.05910739, ..., -0.86113478,\n",
       "        -1.10431526, -0.98907071]])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train_scaled"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Box Plots To understand Effect Of Standard Scaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'X_train After Scaling')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplots(figsize=(15, 5))\n",
    "plt.subplot(1, 2, 1)\n",
    "sns.boxplot(data=X_train)\n",
    "plt.title('X_train Before Scaling')\n",
    "plt.subplot(1, 2, 2)\n",
    "sns.boxplot(data=X_train_scaled)\n",
    "plt.title('X_train After Scaling')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Linear Regression Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 0.5468236465249988\n",
      "R2 Score 0.9847657384266951\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1a558dd8c70>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "from sklearn.metrics import r2_score\n",
    "linreg=LinearRegression()\n",
    "linreg.fit(X_train_scaled,y_train)\n",
    "y_pred=linreg.predict(X_test_scaled)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)\n",
    "plt.scatter(y_test,y_pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Lasso Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 1.1331759949144085\n",
      "R2 Score 0.9492020263112388\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1a558e84250>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import Lasso\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "from sklearn.metrics import r2_score\n",
    "lasso=Lasso()\n",
    "lasso.fit(X_train_scaled,y_train)\n",
    "y_pred=lasso.predict(X_test_scaled)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)\n",
    "plt.scatter(y_test,y_pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Cross Validation Lasso"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LassoCV(cv=5)"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LassoCV\n",
    "lassocv=LassoCV(cv=5)\n",
    "lassocv.fit(X_train_scaled,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.05725391318234405"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lassocv.alpha_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([7.05853002e+00, 6.58280872e+00, 6.13914944e+00, 5.72539132e+00,\n",
       "       5.33951911e+00, 4.97965339e+00, 4.64404142e+00, 4.33104857e+00,\n",
       "       4.03915039e+00, 3.76692517e+00, 3.51304702e+00, 3.27627941e+00,\n",
       "       3.05546914e+00, 2.84954075e+00, 2.65749124e+00, 2.47838523e+00,\n",
       "       2.31135036e+00, 2.15557308e+00, 2.01029467e+00, 1.87480753e+00,\n",
       "       1.74845178e+00, 1.63061198e+00, 1.52071419e+00, 1.41822315e+00,\n",
       "       1.32263965e+00, 1.23349817e+00, 1.15036452e+00, 1.07283380e+00,\n",
       "       1.00052839e+00, 9.33096128e-01, 8.70208572e-01, 8.11559427e-01,\n",
       "       7.56863037e-01, 7.05853002e-01, 6.58280872e-01, 6.13914944e-01,\n",
       "       5.72539132e-01, 5.33951911e-01, 4.97965339e-01, 4.64404142e-01,\n",
       "       4.33104857e-01, 4.03915039e-01, 3.76692517e-01, 3.51304702e-01,\n",
       "       3.27627941e-01, 3.05546914e-01, 2.84954075e-01, 2.65749124e-01,\n",
       "       2.47838523e-01, 2.31135036e-01, 2.15557308e-01, 2.01029467e-01,\n",
       "       1.87480753e-01, 1.74845178e-01, 1.63061198e-01, 1.52071419e-01,\n",
       "       1.41822315e-01, 1.32263965e-01, 1.23349817e-01, 1.15036452e-01,\n",
       "       1.07283380e-01, 1.00052839e-01, 9.33096128e-02, 8.70208572e-02,\n",
       "       8.11559427e-02, 7.56863037e-02, 7.05853002e-02, 6.58280872e-02,\n",
       "       6.13914944e-02, 5.72539132e-02, 5.33951911e-02, 4.97965339e-02,\n",
       "       4.64404142e-02, 4.33104857e-02, 4.03915039e-02, 3.76692517e-02,\n",
       "       3.51304702e-02, 3.27627941e-02, 3.05546914e-02, 2.84954075e-02,\n",
       "       2.65749124e-02, 2.47838523e-02, 2.31135036e-02, 2.15557308e-02,\n",
       "       2.01029467e-02, 1.87480753e-02, 1.74845178e-02, 1.63061198e-02,\n",
       "       1.52071419e-02, 1.41822315e-02, 1.32263965e-02, 1.23349817e-02,\n",
       "       1.15036452e-02, 1.07283380e-02, 1.00052839e-02, 9.33096128e-03,\n",
       "       8.70208572e-03, 8.11559427e-03, 7.56863037e-03, 7.05853002e-03])"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lassocv.alphas_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[53.64536329, 65.39074075, 54.89628985, 77.90299066, 39.38236846],\n",
       "       [46.99139716, 59.81506814, 49.29840831, 75.6645852 , 35.31758355],\n",
       "       [41.14908917, 53.9178721 , 42.49594889, 68.35708298, 31.76996123],\n",
       "       [36.05788169, 48.41773965, 36.66879347, 61.92819453, 28.67296816],\n",
       "       [31.62067285, 42.76466229, 31.68391904, 56.26841266, 24.93183295],\n",
       "       [27.75285367, 37.81922812, 27.42599138, 51.28216115, 21.56888645],\n",
       "       [24.3807738 , 33.49107651, 23.7950306 , 45.25481907, 18.66094162],\n",
       "       [21.44052804, 29.70161639, 20.70460191, 39.90418045, 16.14837778],\n",
       "       [18.876308  , 26.38208059, 18.07969934, 35.23429953, 13.97821475],\n",
       "       [16.63960395, 23.47341883, 15.85530749, 31.15712074, 12.10483403],\n",
       "       [14.68819307, 20.92329068, 13.97555108, 27.59649208, 10.48862803],\n",
       "       [12.98525144, 18.68636627, 12.39173305, 24.48611006,  9.09521221],\n",
       "       [11.49893734, 16.72312788, 11.06186319, 21.7677198 ,  7.89445038],\n",
       "       [10.2013182 , 14.9991189 ,  9.94965275, 19.39216316,  6.86106557],\n",
       "       [ 9.06814642, 13.48429046,  9.02375611, 17.31505177,  5.9722389 ],\n",
       "       [ 8.0783105 , 12.15220147,  8.25686268, 15.49825178,  5.20846991],\n",
       "       [ 7.21342796, 10.98048099,  7.62613185, 13.90854714,  4.5528438 ],\n",
       "       [ 6.45749132,  9.94890861,  7.11117548, 12.51700172,  3.99069111],\n",
       "       [ 5.79649781,  9.04007002,  6.69464754, 11.29840502,  3.50929245],\n",
       "       [ 5.21843764,  8.23876281,  6.36161441, 10.23043133,  3.09746419],\n",
       "       [ 4.71266457,  7.53171188,  6.09923004,  9.29470762,  2.74599653],\n",
       "       [ 4.2699656 ,  6.90732196,  5.89645437,  8.47412971,  2.44641798],\n",
       "       [ 3.88231419,  6.35546212,  5.74343167,  7.75415263,  2.19155766],\n",
       "       [ 3.54271656,  5.86727817,  5.63280675,  7.1220963 ,  1.97520698],\n",
       "       [ 3.24507798,  5.43490383,  5.55722342,  6.56690368,  1.79199187],\n",
       "       [ 2.98408648,  5.05183908,  5.51072584,  6.07893135,  1.6372624 ],\n",
       "       [ 2.75511169,  4.71201421,  5.48822878,  5.64976711,  1.50699679],\n",
       "       [ 2.55407274,  4.41024533,  5.48539678,  5.27207134,  1.39771812],\n",
       "       [ 2.37754224,  4.14199391,  5.49854058,  4.93929274,  1.30641528],\n",
       "       [ 2.22240106,  3.90328437,  5.52452745,  4.64615961,  1.23051895],\n",
       "       [ 2.08597116,  3.69063268,  5.56020979,  4.38761378,  1.16776797],\n",
       "       [ 1.9659162 ,  3.50098406,  5.6043589 ,  4.15939166,  1.11623041],\n",
       "       [ 1.86019735,  3.33165877,  5.65456906,  3.95776947,  1.07424081],\n",
       "       [ 1.76703503,  3.18030479,  5.70925192,  3.77949324,  1.04036447],\n",
       "       [ 1.6848755 ,  3.04481488,  5.76708269,  3.62171864,  1.01336643],\n",
       "       [ 1.61236193,  2.92346604,  5.82695915,  3.48195856,  0.99218458],\n",
       "       [ 1.54827557,  2.81461081,  5.88796931,  3.3580375 ,  0.97590638],\n",
       "       [ 1.49165092,  2.71684484,  5.94936347,  3.24805179,  0.96383716],\n",
       "       [ 1.44154595,  2.62893196,  6.01053016,  3.1503334 ,  0.95513053],\n",
       "       [ 1.39716889,  2.54978296,  6.07039933,  3.07232371,  0.94929556],\n",
       "       [ 1.35782745,  2.47843742,  6.12975718,  3.0041222 ,  0.94584218],\n",
       "       [ 1.32291594,  2.41404782,  6.18769529,  2.94364011,  0.94435089],\n",
       "       [ 1.29190414,  2.35586563,  6.24396657,  2.88962691,  0.94446421],\n",
       "       [ 1.26432775,  2.30322922,  6.29839177,  2.84193587,  0.94587808],\n",
       "       [ 1.23978001,  2.25555322,  6.35084178,  2.79951289,  0.94833447],\n",
       "       [ 1.21631899,  2.21233117,  6.39529714,  2.76173546,  0.9516149 ],\n",
       "       [ 1.18452807,  2.16000042,  6.42643862,  2.72805794,  0.95553494],\n",
       "       [ 1.15701368,  2.11158527,  6.45636883,  2.69761451,  0.95595979],\n",
       "       [ 1.13320995,  2.06862134,  6.48638494,  2.67077799,  0.93982106],\n",
       "       [ 1.11260173,  2.03047905,  6.51570208,  2.6467804 ,  0.9267394 ],\n",
       "       [ 1.09481028,  1.9965441 ,  6.54418839,  2.62528895,  0.92156967],\n",
       "       [ 1.07943936,  1.96633625,  6.57175064,  2.60556754,  0.91819477],\n",
       "       [ 1.06616655,  1.93941688,  6.60120289,  2.58826543,  0.91600498],\n",
       "       [ 1.05471212,  1.91540122,  6.66074506,  2.53939631,  0.91492536],\n",
       "       [ 1.04483316,  1.89395167,  6.72040081,  2.49354558,  0.91475751],\n",
       "       [ 1.03631885,  1.87477186,  6.77985049,  2.45183158,  0.91533073],\n",
       "       [ 1.02898619,  1.85760147,  6.8386118 ,  2.41402473,  0.91650002],\n",
       "       [ 1.02267637,  1.84221172,  6.89546904,  2.37952566,  0.91817465],\n",
       "       [ 1.0172516 ,  1.81986019,  6.95182997,  2.34943959,  0.92100746],\n",
       "       [ 1.01259234,  1.7874912 ,  7.00657253,  2.30905785,  0.91090128],\n",
       "       [ 0.99291676,  1.75813753,  7.05952508,  2.26689771,  0.88812743],\n",
       "       [ 0.96711245,  1.73133215,  7.11055395,  2.22965179,  0.86893338],\n",
       "       [ 0.94404465,  1.70754321,  7.15957739,  2.19646   ,  0.85251259],\n",
       "       [ 0.91746069,  1.68586828,  7.21115863,  2.16644165,  0.83841802],\n",
       "       [ 0.89121876,  1.66666838,  7.26823916,  2.14003416,  0.82646203],\n",
       "       [ 0.86783937,  1.64937312,  7.32193772,  2.11642121,  0.81629395],\n",
       "       [ 0.84703112,  1.6337788 ,  7.37194387,  2.09528441,  0.80766048],\n",
       "       [ 0.82845196,  1.619701  ,  7.42070575,  2.07634166,  0.80034774],\n",
       "       [ 0.81184328,  1.6069769 ,  7.46783924,  2.05934486,  0.79417047],\n",
       "       [ 0.79697877,  1.59523036,  7.51171241,  2.04379341,  0.78898574],\n",
       "       [ 0.78366252,  1.58481658,  7.5533042 ,  2.03007893,  0.78514158],\n",
       "       [ 0.77340653,  1.57536934,  7.59178479,  2.01773193,  0.78410497],\n",
       "       [ 0.76437368,  1.56730639,  7.62890427,  2.00633629,  0.78327866],\n",
       "       [ 0.75641103,  1.56014926,  7.66385201,  1.99569195,  0.78309295],\n",
       "       [ 0.74929762,  1.55377904,  7.69675973,  1.98581272,  0.78325254],\n",
       "       [ 0.7431075 ,  1.54808751,  7.72772336,  1.97708583,  0.78348718],\n",
       "       [ 0.73764056,  1.5428574 ,  7.75701245,  1.9690422 ,  0.78415382],\n",
       "       [ 0.73271889,  1.5383076 ,  7.78098988,  1.96195515,  0.78479522],\n",
       "       [ 0.72844826,  1.53422868,  7.80009362,  1.95555728,  0.78577592],\n",
       "       [ 0.72457927,  1.53042136,  7.81782859,  1.94960372,  0.78686385],\n",
       "       [ 0.72121402,  1.5271394 ,  7.83584096,  1.94420011,  0.78783843],\n",
       "       [ 0.71854269,  1.52403047,  7.8521645 ,  1.93945512,  0.78886011],\n",
       "       [ 0.71624922,  1.52137747,  7.86797141,  1.93532188,  0.79008917],\n",
       "       [ 0.71419505,  1.51882628,  7.8824946 ,  1.93156393,  0.7910736 ],\n",
       "       [ 0.71283686,  1.51649634,  7.89597341,  1.92813104,  0.79328236],\n",
       "       [ 0.7117556 ,  1.51454548,  7.90862683,  1.92492966,  0.7959553 ],\n",
       "       [ 0.71078691,  1.5128162 ,  7.92077339,  1.92207644,  0.79869912],\n",
       "       [ 0.71003406,  1.51137977,  7.93211766,  1.9195065 ,  0.80158876],\n",
       "       [ 0.7094272 ,  1.51017923,  7.94254787,  1.9171673 ,  0.80451499],\n",
       "       [ 0.70893209,  1.50910355,  7.95231005,  1.91555613,  0.80717091],\n",
       "       [ 0.70847636,  1.50819995,  7.96151575,  1.914521  ,  0.8098638 ],\n",
       "       [ 0.70814046,  1.50740984,  7.97034636,  1.91358558,  0.81227152],\n",
       "       [ 0.70789298,  1.5065737 ,  7.97838619,  1.91277526,  0.81468439],\n",
       "       [ 0.70770357,  1.50591279,  7.98587605,  1.9120262 ,  0.8170304 ],\n",
       "       [ 0.70752166,  1.50536216,  7.99241057,  1.91138883,  0.81925406],\n",
       "       [ 0.70734296,  1.50487616,  7.99849196,  1.91084915,  0.82119901],\n",
       "       [ 0.70724307,  1.50444309,  8.00451482,  1.91033293,  0.82327046],\n",
       "       [ 0.70719344,  1.50391791,  8.01011355,  1.9098903 ,  0.8250587 ],\n",
       "       [ 0.70714379,  1.50342997,  8.01481494,  1.90951275,  0.826765  ],\n",
       "       [ 0.70711086,  1.50300182,  8.01992921,  1.90919915,  0.82842365]])"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lassocv.mse_path_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 0.6199701158263436\n",
      "R2 Score 0.9820946715928275\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAVA0lEQVR4nO3df4zcdZ3H8der6yprNVk4FlIWvHKE9OLRo9VN9dKLQVRa8XIseP5oOFMTY/1DEjCmsRhzFKOhuYr4z8WkhMZeDhFy1KUe5CqhGk6inFu2UmrtgVqRadOuVzbCseh2+74/9jvrdDuzMzs/dr6fmecjaWbmuzM7n2++6avfvr/vz/fjiBAAID1L2j0AAEB9CHAASBQBDgCJIsABIFEEOAAk6g2L+WUXXnhhLF++fDG/EgCSt3///t9FxMDc7VUD3PZ5kp6U9Kbs/f8eEXfYvkDSg5KWSzoq6aMR8fJ8v2v58uUaHR1d+OgBoIvZ/k257bWUUP4g6dqIuFrSKknrbb9b0hZJT0TElZKeyF4DABZJ1QCPGa9mL3uzPyHpBkm7su27JA23YoAAgPJquohpu8f2AUknJT0eEU9LujgijktS9nhRhc9usj1qe3R8fLxJwwYA1BTgETEdEaskXSppje2rav2CiNgREUMRMTQwcE4NHgBQpwW1EUbEhKQfSlov6YTtZZKUPZ5s9uAAAJVVDXDbA7b7s+d9kt4v6ReS9kjamL1to6RHWjRGAEjWyFhBa7ft0+VbHtXabfs0MlZo2u+upQ98maRdtns0E/gPRcR/2P6xpIdsf0rSi5I+0rRRAUAHGBkr6PbdBzU5NS1JKkxM6vbdByVJw6sHG/79VQM8Ip6VtLrM9v+V9L6GRwAAHWr73iOz4V00OTWt7XuPNCXAmUoPAC1ybGJyQdsXigAHgBa5pL9vQdsXigAHgBbZvG6F+np7ztrW19ujzetWNOX3L+rNrACgmxTr3Nv3HtGxiUld0t+nzetWNKX+LRHgANBSw6sHmxbYc1FCAYBEEeAAkCgCHAASRYADQKIIcABIFAEOAIkiwAEgUQQ4ACSKAAeARBHgAJAoAhwAEkWAA0CiCHAASBQBDgCJIsABIFEEOAAkigAHgEQR4ACQKAIcABJVNcBtX2b7B7YP2z5k+9Zs+1bbBdsHsj/Xt364AICiWhY1Pi3p8xHxjO23Stpv+/HsZ/dExNdaNzwAQCVVAzwijks6nj1/xfZhSa1ZYhkAULMF1cBtL5e0WtLT2aZbbD9re6ft8yt8ZpPtUduj4+PjjY0WADCr5gC3/RZJD0u6LSJ+L+mbkq6QtEozZ+h3l/tcROyIiKGIGBoYGGh8xAAASTUGuO1ezYT3/RGxW5Ii4kRETEfEGUn3SlrTumECAOaqpQvFku6TdDgivl6yfVnJ226U9FzzhwcAqKSWLpS1kj4h6aDtA9m2L0raYHuVpJB0VNJnWjA+AEAFtXSh/EiSy/zoseYPBwBQK2ZiAkCiCHAASBQBDgCJIsABIFEEOAAkigAHgEQR4ACQKAIcABJFgANAoghwAEgUAQ4AiSLAASBRBDgAJIoAB4BEEeAAkCgCHAASRYADQKIIcABIVC1rYgJI3MhYQdv3HtGxiUld0t+nzetWaHj1YLuHhQYR4ECHGxkr6PbdBzU5NS1JKkxM6vbdByWJEE8cJRSgw23fe2Q2vIsmp6a1fe+RNo0IzUKAAx3u2MTkgrYjHQQ40OEu6e9b0HakgwAHOtzmdSvU19tz1ra+3h5tXreiTSNCs1QNcNuX2f6B7cO2D9m+Ndt+ge3HbT+fPZ7f+uECWKjh1YO666aVGuzvkyUN9vfprptWcgGzAzgi5n+DvUzSsoh4xvZbJe2XNCzpk5JORcQ221sknR8RX5jvdw0NDcXo6GhTBg4A3cL2/ogYmru96hl4RByPiGey569IOixpUNINknZlb9ulmVAHACySBdXAbS+XtFrS05Iujojj0kzIS7qowmc22R61PTo+Pt7gcAEARTUHuO23SHpY0m0R8ftaPxcROyJiKCKGBgYG6hkjAKCMmmZi2u7VTHjfHxG7s80nbC+LiONZnfxkqwYJoDFMpe9MtXShWNJ9kg5HxNdLfrRH0sbs+UZJjzR/eAAaVZxKX5iYVOhPU+lHxgrtHhoaVEsJZa2kT0i61vaB7M/1krZJ+oDt5yV9IHsNIGeYSt+5qpZQIuJHklzhx+9r7nAANBtT6TsXMzGBDsdU+s5FgAMdjqn0nYv7gQMdrthtQhdK5yHAgQ5TqWWQwO48BDjQQVh9p7tQAwc6CC2D3YUABzoILYPdhQAHOggtg92FAAc6CC2D3YWLmEAHoWWwuxDgQAPyeJc/Wga7BwEO1Gm+lj2Js2C0HgEO1KlSy96d3zuk16fO0IuNluMiJlCnSq15L782RS82FgUBDtRpoa159GKj2QhwoE6VWvb6+3rLvp9ebDQbNXCgTpVa9iSddXFTohcbrUGAoyO0q51vvpY9ulDQagQ4kpfHO/DRi43FQA0cyeMOfOhWBDiSxx340K0IcCSPO/ChWxHgSF4r7sA3MlbQ2m37dPmWR7V22z6NjBUaHSbQdFzERPKafQe+PF4UBcqpGuC2d0r6O0knI+KqbNtWSZ+WNJ697YsR8VirBglU08yuj/kuihLgyJNaSijfkrS+zPZ7ImJV9ofwRsfgoihSUTXAI+JJSacWYSxALnBRFKlo5CLmLbaftb3T9vmV3mR7k+1R26Pj4+OV3gbkBsuSIRX1Bvg3JV0haZWk45LurvTGiNgREUMRMTQwMFDn1wGtV+w8+dyDB7TEkrPtPbY+/E5mViJ/6grwiDgREdMRcUbSvZLWNHdYwOIqdp4UJiYVkv7vj9OK7GfTEXp4f4FWQuROXQFue1nJyxslPdec4QDtUa7zpBRT85FHtbQRPiDpGkkX2n5J0h2SrrG9SlJIOirpM60bItB6tXSY0IWCvKka4BGxoczm+1owFqBtLunvU6FKQNOFgrxhKj0g6b1/OTB70bIculCQR0ylR9cbGSvo4f2F2YuWRX29S/T61BkWZEBuEeDoepUuYF6w9E16asu1bRgRUBtKKOh6TJ1HqjgDR3Kavf5lpQuYXLRE3nEGjqTMnXBTvNVrI5NsmDqPVBHgSEor1r8cXj2ou25aqcH+PlnSYH+f7rppJRctkXuUUJCUVtWrWUUeKeIMHEnhVq/AnxDgSAr1auBPKKEgKc1e/xJIGQGO5FCvBmZQQgGARBHgAJAoAhwAEkWAA0CiCHAASBQBDgCJIsABIFEEOAAkigAHgEQR4ACQKKbSo2mavVIOgPkR4GiK4ko5xcUWiivlSCLEgRapWkKxvdP2SdvPlWy7wPbjtp/PHs9v7TCRd61YKQfA/GqpgX9L0vo527ZIeiIirpT0RPYaTTIyVtDabft0+ZZHtXbbvobWe2y2SmNjZXdg8VUN8Ih4UtKpOZtvkLQre75L0nBzh9W9WrFobyvH9rkHD2j5lke1xC77GVbKAVqn3i6UiyPiuCRljxdVeqPtTbZHbY+Oj4/X+XXdI8+liHJji+xxOuKc97NSDtBaLW8jjIgdETEUEUMDAwOt/rrk5bkUUcsYemxWdgcWSb1dKCdsL4uI47aXSTrZzEF1s0v6+1QoE5R5KEX0v7lXL782Ne97zkTo19s+tEgjArpbvWfgeyRtzJ5vlPRIc4aDdi7aO9/F05Gxgl59/XTV35GHf2iAblH1DNz2A5KukXSh7Zck3SFpm6SHbH9K0ouSPtLKQXaTdi3aW62Pe/veI5o6c26duxQ1b2BxVQ3wiNhQ4Ufva/JYkGnHor3zXTwdXj04b/3bEjMvgTZgJiYkVb94Wqk2P9jfp6e2XNvSsQEojwDvUJXuS1Jpe7WLp5vXrTirxCJRMgHazVGmf7dVhoaGYnR0dNG+r1vNrWdLM2WOKHks6uvt0V03rZSksgFd2grIzaqA9rC9PyKG5m7nDLwDzTfhZu4/15NT07rze4c09k/XzX62UkC3ozYPoDICvAMtdNLPy69NaWSsQEADiWFBhw5UTy92HqbqA1gYArwDlZsMVE0epuoDWBhKKIn70shBPfD0bzUdoR5bG951mb4yPHNRcvveIypMTJ5z4bIcZlAC6SHAE/alkYP6t5+8OPt6OmL29VeGy3eP9L+5V6++fvqsWZW0AwJpoo0wMaVhXOnI9dj65V3X1/Q7aAcE8o82wg5Qrr+7nHL35i5FtwnQGbiImZBy/d3l9FRYHQdAZyHAE1Jrp8iGd13W4pEAyANKKDlWrFUXJibVY1ftJJnbhQKgsxHgOTW33l2prj33fiUAugcBniOl3SFL7KoXIwfpIAG6GgGeE7WecRdZ4j7cQJfjImZO1NphUsTMSQCcgbdRLZNyymHmJACJAG+bWiflzNVjc9ESgCRKKG2z0JKJNHPmffdHrya8AUgiwBfdyFhBa7ftK7v+ZKnB/j7947vfpsH+Pjl7zZk3gFKUUBZRrWUTOkwA1IIz8EVUa9mEDhMAtWjoDNz2UUmvSJqWdLrc7Q672dzbtlYrm0h0mACoXTNKKO+NiN814fd0lLnlkmrhbYl7cwNYEGrgdaq2KMJCu0x+ve1DrRgmgA7WaA08JH3f9n7bm8q9wfYm26O2R8fHxxv8unwonl0Xsgk4hYlJ3b77oEbGCrPvWcgiwYPUvAHUodEAXxsR75D0QUmftf2euW+IiB0RMRQRQwMDAw1+XT6UO7uenJrW9r1HZl9XuhA5d6kFat4A6tVQgEfEsezxpKTvSlrTjEHlXaWz69Ltm9etUF9vz1k/7+vt0c30dgNokrpr4LaXSloSEa9kz6+T9OWmjSzHKnWUlJ51F0OZxYMBtEojFzEvlvRdz6y/+AZJ346I/2zKqHJu87oV50zIKVcKYfFgAK1Ud4BHxK8kXd3EsSSjGMpb9xzSxOSUJOm8XuZEAVhcpE4D/nD6zOzzl1+bOqcTBQBaiQCvUy2dKADQSkzkmaPaBJ2iWjpRAKCVOAMvUcsEnaJKfd7ciArAYiHAS1Qqi9z24AGt3bbvrCCv1OfNpBwAi4USSon5yh/Fs3Hp7PZA+rwBtAsBXqLaLV+LFymLIU2fN4B2ooRSolxZZC4uUgLIC87AS5SWRSqdiXOREkBecAY+x/DqQT215Vp942OruEgJINc4A9f8vd9cpASQVx0R4NUm39x874/11C9Pzb5ee8UFuv/TfzP72blLn5XrNgGAvEm+hFJt8s3c8Jakp355Sjff+2NJTIkHkK6kz8BHxgr6/EM/03TEWdsnp6a1dc+heS9GFkOdKfEAUpVcgBfLJYWJSVkzi3KWMzE5NXur1/nUsjgDAORRUiWU0nKJVDm8F4Ip8QBSldQZeLl6db3WXnGBJJY+A5CupAK8WXXp0i4UiW4TAGlKKsCr3atkPpZ0z8dWEdQAOkZSNfBa7lUinbtTlnTzu99GeAPoKEkF+PDqQX34nYNylfedkdTf1ytLGuzv0z0fW6WvDK9chBECwOJJqoQyMlbQw/sLNXWfLH3TG3TgjutaPiYAaJekzsAX0oXCRBwAnS6pAF9IKDMRB0CnayjAba+3fcT2C7a3NGtQlZzXW9twmYgDoBvUHeC2eyT9i6QPSnq7pA22396sgZXzh9NnKv5ssL9v9qLlXTetpOMEQMdr5CLmGkkvRMSvJMn2dyTdIOnnzRhYOWfmuXr51JZrW/W1AJBLjZRQBiX9tuT1S9m2s9jeZHvU9uj4+HgDX6d52weLt48FgG7RSICXy9NzzpEjYkdEDEXE0MDAQF1fNDJW0Ko7vz9v+yD37wbQbRopobwk6bKS15dKOtbYcM5VbkGGcmgbBNBtGjkD/6mkK21fbvuNkj4uaU9zhjXjSyMHawpvibZBAN2n7jPwiDht+xZJeyX1SNoZEYeaNjJJ9//kxZre17vEtA0C6DoNTaWPiMckPdaksZz7+2t4T39fr7b+/V/RNgig6yR1L5RSvT3W9n+4muAG0LVyPZV+6Rsr3zqW8AbQ7XId4F+9caV6lpzdrdizxPoGCzMAQL5LKKxXCQCV5TrAJdarBIBKcl1CAQBURoADQKIIcABIFAEOAIkiwAEgUY6oZcJ6k77MHpf0mzo/fqGk3zVxOO3SKfshdc6+sB/50in7ITVvX/48Is65H/eiBngjbI9GxFC7x9GoTtkPqXP2hf3Il07ZD6n1+0IJBQASRYADQKJSCvAd7R5Ak3TKfkidsy/sR750yn5ILd6XZGrgAICzpXQGDgAoQYADQKKSCHDb620fsf2C7S3tHk+9bB+1fdD2Aduj7R5PrWzvtH3S9nMl2y6w/bjt57PH89s5xlpV2JettgvZcTlg+/p2jrEa25fZ/oHtw7YP2b41257cMZlnX1I7JufZ/m/bP8v2485se0uPSe5r4LZ7JP2PpA9IeknSTyVtiIift3VgdbB9VNJQRCQ1ScH2eyS9KulfI+KqbNs/SzoVEduyf1TPj4gvtHOctaiwL1slvRoRX2vn2Gple5mkZRHxjO23StovaVjSJ5XYMZlnXz6qtI6JJS2NiFdt90r6kaRbJd2kFh6TFM7A10h6ISJ+FRF/lPQdSTe0eUxdJSKelHRqzuYbJO3Knu/SzF+63KuwL0mJiOMR8Uz2/BVJhyUNKsFjMs++JCVmvJq97M3+hFp8TFII8EFJvy15/ZISPMCZkPR92/ttb2r3YBp0cUQcl2b+Ekq6qM3jadQttp/NSiy5Lz0U2V4uabWkp5X4MZmzL1Jix8R2j+0Dkk5KejwiWn5MUghwl9mW77pPZWsj4h2SPijps9l/59F+35R0haRVko5Luruto6mR7bdIeljSbRHx+3aPpxFl9iW5YxIR0xGxStKlktbYvqrV35lCgL8k6bKS15dKOtamsTQkIo5ljyclfVcz5aFUncjql8U65sk2j6duEXEi+8t3RtK9SuC4ZHXWhyXdHxG7s81JHpNy+5LiMSmKiAlJP5S0Xi0+JikE+E8lXWn7cttvlPRxSXvaPKYFs700u0gj20slXSfpufk/lWt7JG3Mnm+U9Egbx9KQ4l+wzI3K+XHJLpjdJ+lwRHy95EfJHZNK+5LgMRmw3Z8975P0fkm/UIuPSe67UCQpayH6hqQeSTsj4qvtHdHC2f4LzZx1SzOLSX87lf2w/YCkazRza8wTku6QNCLpIUlvk/SipI9ERO4vDlbYl2s081/1kHRU0meKdcs8sv23kv5L0kFJZ7LNX9RM7TipYzLPvmxQWsfkrzVzkbJHMyfGD0XEl23/mVp4TJIIcADAuVIooQAAyiDAASBRBDgAJIoAB4BEEeAAkCgCHAASRYADQKL+H76eWUFALWR4AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "y_pred=lassocv.predict(X_test_scaled)\n",
    "plt.scatter(y_test,y_pred)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ridge Regression model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 0.5642305340105719\n",
      "R2 Score 0.9842993364555513\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1a558ef4be0>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import Ridge\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "from sklearn.metrics import r2_score\n",
    "ridge=Ridge()\n",
    "ridge.fit(X_train_scaled,y_train)\n",
    "y_pred=ridge.predict(X_test_scaled)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)\n",
    "plt.scatter(y_test,y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 0.5642305340105719\n",
      "R2 Score 0.9842993364555513\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import RidgeCV\n",
    "ridgecv=RidgeCV(cv=5)\n",
    "ridgecv.fit(X_train_scaled,y_train)\n",
    "y_pred=ridgecv.predict(X_test_scaled)\n",
    "plt.scatter(y_test,y_pred)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'alphas': array([ 0.1,  1. , 10. ]),\n",
       " 'cv': 5,\n",
       " 'fit_intercept': True,\n",
       " 'gcv_mode': None,\n",
       " 'normalize': False,\n",
       " 'scoring': None,\n",
       " 'store_cv_values': False}"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ridgecv.get_params()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Elasticnet Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 1.8822353634896\n",
      "R2 Score 0.8753460589519703\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1a558f5bd60>"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import ElasticNet\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "from sklearn.metrics import r2_score\n",
    "elastic=ElasticNet()\n",
    "elastic.fit(X_train_scaled,y_train)\n",
    "y_pred=elastic.predict(X_test_scaled)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)\n",
    "plt.scatter(y_test,y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean absolute error 0.6575946731430905\n",
      "R2 Score 0.9814217587854941\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import ElasticNetCV\n",
    "elasticcv=ElasticNetCV(cv=5)\n",
    "elasticcv.fit(X_train_scaled,y_train)\n",
    "y_pred=elasticcv.predict(X_test_scaled)\n",
    "plt.scatter(y_test,y_pred)\n",
    "mae=mean_absolute_error(y_test,y_pred)\n",
    "score=r2_score(y_test,y_pred)\n",
    "print(\"Mean absolute error\", mae)\n",
    "print(\"R2 Score\", score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.41170600e+01, 1.31656174e+01, 1.22782989e+01, 1.14507826e+01,\n",
       "       1.06790382e+01, 9.95930678e+00, 9.28808283e+00, 8.66209714e+00,\n",
       "       8.07830078e+00, 7.53385034e+00, 7.02609405e+00, 6.55255882e+00,\n",
       "       6.11093829e+00, 5.69908150e+00, 5.31498248e+00, 4.95677045e+00,\n",
       "       4.62270071e+00, 4.31114616e+00, 4.02058933e+00, 3.74961507e+00,\n",
       "       3.49690356e+00, 3.26122397e+00, 3.04142839e+00, 2.83644629e+00,\n",
       "       2.64527931e+00, 2.46699633e+00, 2.30072904e+00, 2.14566760e+00,\n",
       "       2.00105679e+00, 1.86619226e+00, 1.74041714e+00, 1.62311885e+00,\n",
       "       1.51372607e+00, 1.41170600e+00, 1.31656174e+00, 1.22782989e+00,\n",
       "       1.14507826e+00, 1.06790382e+00, 9.95930678e-01, 9.28808283e-01,\n",
       "       8.66209714e-01, 8.07830078e-01, 7.53385034e-01, 7.02609405e-01,\n",
       "       6.55255882e-01, 6.11093829e-01, 5.69908150e-01, 5.31498248e-01,\n",
       "       4.95677045e-01, 4.62270071e-01, 4.31114616e-01, 4.02058933e-01,\n",
       "       3.74961507e-01, 3.49690356e-01, 3.26122397e-01, 3.04142839e-01,\n",
       "       2.83644629e-01, 2.64527931e-01, 2.46699633e-01, 2.30072904e-01,\n",
       "       2.14566760e-01, 2.00105679e-01, 1.86619226e-01, 1.74041714e-01,\n",
       "       1.62311885e-01, 1.51372607e-01, 1.41170600e-01, 1.31656174e-01,\n",
       "       1.22782989e-01, 1.14507826e-01, 1.06790382e-01, 9.95930678e-02,\n",
       "       9.28808283e-02, 8.66209714e-02, 8.07830078e-02, 7.53385034e-02,\n",
       "       7.02609405e-02, 6.55255882e-02, 6.11093829e-02, 5.69908150e-02,\n",
       "       5.31498248e-02, 4.95677045e-02, 4.62270071e-02, 4.31114616e-02,\n",
       "       4.02058933e-02, 3.74961507e-02, 3.49690356e-02, 3.26122397e-02,\n",
       "       3.04142839e-02, 2.83644629e-02, 2.64527931e-02, 2.46699633e-02,\n",
       "       2.30072904e-02, 2.14566760e-02, 2.00105679e-02, 1.86619226e-02,\n",
       "       1.74041714e-02, 1.62311885e-02, 1.51372607e-02, 1.41170600e-02])"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "elasticcv.alphas_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
